Agda Meets Accelerate

نویسندگان

  • Peter Thiemann
  • Manuel M. T. Chakravarty
چکیده

Embedded languages in Haskell benefit from a range of type extensions, such as type families, that are subsumed by dependent types. However, even with those type extensions, embedded languages for data parallel programming lack desirable static guarantees, such as static bounds checks in indexing and collective permutation operations. This observation raises the question whether an embedded language for data parallel programming would benefit from fully-fledged dependent types, such as those available in Agda. We explored that question by designing and implementing an Agda frontend to Accelerate, a Haskellembedded language for data parallel programming aimed at GPUs. We discuss the potential of dependent types in this domain, describe some of the limitations that we encountered, and share some insights from our preliminary implementation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Mechanisation of Internal Galois Connections In Order Theory Formalised Without Meets

Using the the dependently-typed programming language Agda, we formalise orders, with attention to the theory of Galois Connections, and showcase it by formalising a few results of the category of algebraic contexts with relational homomorphisms presented by Jipsen (2012); Moshier (2013). We aim to exhibit an internal theory of Galois Connections and Closure operators where the ambient space nee...

متن کامل

Trace and Stable Failures Semantics for CSP-Agda

CSP-Agda is a library, which formalises the process algebra CSP in the interactive theorem prover Agda using coinductive data types. In CSP-Agda, CSP processes are in monadic form, which supports a modular development of processes. In this paper, we implement two main models of CSP, trace and stable failures semantics, in CSP-Agda, and define the corresponding refinement and equality relations....

متن کامل

A Brief Overview of Agda - A Functional Language with Dependent Types

We give an overview of Agda, the latest in a series of dependently typed programming languages developed in Gothenburg. Agda is based on Martin-Löf’s intuitionistic type theory but extends it with numerous programming language features. It supports a wide range of inductive data types, including inductive families and inductive-recursive types, with associated flexible pattern-matching. Unlike ...

متن کامل

Representing the Process Algebra CSP in Type Theory

We introduce the library CSP-Agda which represents CSP processes in Agda. CSPAgda allows to prove in Agda properties of CSP processes. CSP processes are implemented coinductively (or coalgebraically). They are formed like inductive data types from atomic operations, but infinite loops, i.e. non-wellfounded processes, are allowed.

متن کامل

Agda as a platform for the development of verified railway interlocking systems

This thesis identifies a technological framework that aids the development of verified railway interlocking systems in the Agda theorem prover. The thesis is in two parts, Part I deals with integrating interactive and automated theorem proving in type theory, and Part II addresses verification in the

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012